// 文件: AuthService.java
package org.csu.mybigpro.service;

import org.csu.mybigpro.common.CommonResponse;
import org.csu.mybigpro.domain.User;

import java.util.Map;

public interface AuthService {
    /**
     * 教师登录服务
     * @param username 用户名
     * @param password 密码
     * @return 包含token和用户信息的响应
     */
    // 将下面这行
    // CommonResponse<Map<String, Object>> login(String username, String password, String role);
    // 修改为：
    CommonResponse<Map<String, Object>> login(String username, String password);

    Integer getRoleIdByUserId(Long userId);

    /**
     * 【新方法】获取当前登录的用户信息
     * @return 包含用户信息的响应
     */
    CommonResponse<User> getCurrentUser();

    /**
     * 【新方法】更新当前用户的人脸特征码
     * @param descriptor 人脸特征码
     * @return 操作结果响应
     */
    CommonResponse<?> updateFaceDescriptor(String descriptor);
    /**
     * 【新方法】更新当前用户的基本信息 (姓名、邮箱、电话、部门)
     * @param updatedUser 包含更新信息的User对象
     * @return 操作结果响应
     */
    CommonResponse<?> updateUserInfo(User updatedUser);

    /**
     * 【新方法】更新当前用户的头像URL
     * @param userId 用户ID
     * @param avatarUrl 新的头像URL
     * @return 操作结果响应，包含新的头像URL
     */
    CommonResponse<String> updateAvatarUrl(Integer userId, String avatarUrl);
}